package com.itheima.service.db.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.itheima.domain.PmsProductAttributeValue;
import com.itheima.mapper.PmsProductAttributeValueMapper;
import com.itheima.service.db.PmsProductAttributeValueService;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

@DubboService
public class PmsProductAttributeValueServiceImpl implements PmsProductAttributeValueService {
    @Autowired
    PmsProductAttributeValueMapper pmsProductAttributeValueMapper;

    @Override
    public List<PmsProductAttributeValue> selectByProductId(Integer id) {
        LambdaQueryWrapper<PmsProductAttributeValue> lqw=new LambdaQueryWrapper<>();
        lqw.eq(PmsProductAttributeValue::getProductId,id);
        return pmsProductAttributeValueMapper.selectList(lqw);
    }

    @Override
    public void updateByProductId(Integer id, List<PmsProductAttributeValue> PmsProductAttributeValueList) {
        LambdaQueryWrapper<PmsProductAttributeValue> lqw=new LambdaQueryWrapper<>();
        lqw.eq(PmsProductAttributeValue::getProductId,id);
       pmsProductAttributeValueMapper.delete(lqw);

        for (PmsProductAttributeValue PmsProductAttributeValue : PmsProductAttributeValueList) {
            PmsProductAttributeValue.setProductId(id.longValue());
            pmsProductAttributeValueMapper.insert(PmsProductAttributeValue);
        }

    }

    @Override
    public void save(Long productId, List<PmsProductAttributeValue> productAttributeValueList) {
        for (PmsProductAttributeValue PmsProductAttributeValue : productAttributeValueList) {
            PmsProductAttributeValue.setProductId(productId);
            pmsProductAttributeValueMapper.insert(PmsProductAttributeValue);
        }
    }
}
